package cn.js.sangu.unitStore.mapper;

import cn.js.sangu.unitStore.entity.MessageBox;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 信箱Mapper接口
 */
@Mapper
public interface MessageBoxMapper extends BaseMapper<MessageBox> {
    /**
     * 查询用户的未读消息
     * @param userId 用户ID
     * @return 未读消息列表
     */
    List<MessageBox> selectUnreadByUserId(@Param("userId") String userId);

    /**
     * 标记用户的所有消息为已读
     * @param userId 用户ID
     * @return 影响的行数
     */
    int updateAllReadByUserId(@Param("userId") String userId);

    /**
     * 查询用户的所有消息
     * @param userId 用户ID
     * @param limit 限制数量
     * @param offset 偏移量
     * @return 消息列表
     */
    List<MessageBox> selectAllByUserId(@Param("userId") String userId, @Param("limit") int limit, @Param("offset") int offset);
}